//
//  ViewController.m
//  21-URL
//
//  Created by 王道林 on 16/8/11.
//  Copyright © 2016年 王道林. All rights reserved.
//

#import "ViewController.h"

@interface ViewController ()

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
   // NSURL 负责请求的地址
    NSURL *url =[NSURL URLWithString:@"http://www.baidu.com/1.html?userName=xxx&pwdxxx"];
    // 1. 完整的URL对应的字符串
    NSLog(@"baidu.absoluteString:%@", url.absoluteString);
    NSLog(@"baiduURL:  %@", url);
    // 2. host : 主机地址 / 域名
    NSLog(@"baidu.host:%@", url.host);
    // 3. path : 主机地址 / 域名   后面的路径
    NSLog(@"baidu.path:%@", url.path);
    // 4 . query :  ?以后的内容
    NSLog(@"111111%@", url.query);
    // 5 . scheme  : URL所遵循的协议
    NSLog(@"%@", url.scheme);
    
    // 可变请求  和   不可变请求
 //   NSMutableURLRequest
 //   NSURLRequest
    // 不可变的
    NSURLRequest *baifuRequest = [NSURLRequest requestWithURL:url];
    
    
    // 可变的
    // 一般处理网络请求, ,都用可变的request.
    NSMutableURLRequest *baiduMutableRequset = [NSMutableURLRequest requestWithURL:url];
    // 1> 超时时间, 一个请求持续多久,会失败.
    baiduMutableRequset.timeoutInterval = 11111;
    // 2>httpMethod 请求的姿势, GET POST PUT DELETE
    baiduMutableRequset.HTTPMethod = @"GET";
    
    // 3. allHTTPHeaderFields 字典...设置,网络请求头
    baiduMutableRequset.allHTTPHeaderFields = @{};
    // 根据字典特性, 相同Key情况下,后填入的值, 会覆盖前面的值
    [baiduMutableRequset setValue:@"iOS10.0 / iPhone, 1" forHTTPHeaderField:@"User-Agent"];
    // 获取网络请求头
    [baiduMutableRequset valueForHTTPHeaderField:@"User-Agent"];
    
    
    // 4> HTTPBody (一般Post请求时, 才会使用)
    //  一般情况下 , 都是字典/ 字符串转化成Data
    baiduMutableRequset.HTTPBody = [NSData data];
    
    
    
    // 3 NSURLResponse  响应
  //  NSURLResponse *
    
    NSHTTPURLResponse *response = [[NSHTTPURLResponse alloc] initWithURL:url statusCode:200 HTTPVersion:@"HTTP/1.1" headerFields:@{@"data" : [NSData data]}];
    
    // 1> statusCode 状态码
    // response.statusCode;
    
    // 2> allHeaderfields 响应头
    NSLog(@"%@", response.allHeaderFields);
    //  内容格式,及编码
    // Contenttype :  application/json;
    // 时间 日期
    // 缓存的一些内容

    
    
}

- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

@end
